package com.work.dao;
import com.work.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户刀
 *
 * @author gy
 * &#064;date 2022/09/29
 * @version 1.0.0
 * @since 1.0.0
 */
public interface UserDao {
	/**
	 * 登录
	 *
	 * @param username 用户名
	 * @param password 密码
	 * @param role
	 * @return {@link User}
	 */
	User login(@Param("username") String username, @Param("password") String password, @Param("role") Integer role);
	
	/**
	 * 注册
	 *
	 * @param user 用户
	 * @return boolean
	 */
	boolean register(@Param("user") User user);
	
	/**
	 * 检查用户名
	 *
	 * @param username 用户名
	 * @return boolean
	 */
	User checkUserName(@Param("username") String username);
	
	
	/**
	 * 用户列表
	 *
	 * @return {@link List}<{@link User}>
	 */
	List<User> listUser();
	
	/**
	 * 删除用户id
	 *
	 * @param id id
	 */
	void deleteUserById(@Param("id") Integer id);
	
	/**
	 * 搜索用户名字和性别
	 *
	 * @param username 用户名
	 * @param gender   性别
	 * @return {@link List}<{@link User}>
	 */
	List<User> searchUserByNameAndGender(@Param("username") String username, @Param("gender") String gender);

}
